Automatic switching device operation determination based on received notifications

ABSTRACT

A switching device is enabled to automatically perform one or more actions based on one or more notifications received thereby. A notification may be received by a device communicatively coupled to the switching device, or alternatively, may be internally-generated. Upon receiving the notification, the switching device utilizes a notification-to-action mapping to determine which action(s) are to be performed based on the notification received. The action(s) include automatically switching the switching device to a device coupled to a port thereof and/or automatically launching an application executing on that device in order to view the notification and/or content associated with the notification. In other example, the action(s) may include sending the notification to another device, such as a user&#39;s mobile phone and/or causing an application executing on the mobile phone to be launched in order to view the notification and/or content associated with the notification.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.17/520,964, filed Nov. 8, 2021, which is a continuation of U.S.application Ser. No. 16/536,737, issued, filed Aug. 9, 2019, whichclaims priority to U.S. Provisional Patent Application Ser. No.62/716,585, filed Aug. 9, 2018, the entireties of which are incorporatedby reference herein.

BACKGROUND Technical Field

The present invention relates to methods, systems, and apparatuses forautomatic operation determination for a switching device.

Background Art

The number of ways people consume media and other content continues toincrease. Not only are people consuming content via live television, butalso via Internet streaming applications and devices, social media,Internet news feeds, etc. Accordingly, managing information from theseever-increasing number of sources is becoming unmanageable. Often, auser has to juggle between multiple applications and/or devices in orderto find the content they want to consume. This problem is compounded bythe rise of smart home devices (e.g., Internet-of-Things devices), whichprovide a variety of different notifications and alerts to the user.

BRIEF SUMMARY

Methods, systems, and apparatuses are described for the automaticoperation determination for a switching device, substantially as shownin and/or described herein in connection with at least one of thefigures, as set forth more completely in the claims.

BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES

The accompanying drawings, which are incorporated herein and form a partof the specification, illustrate embodiments and, together with thedescription, further serve to explain the principles of the embodimentsand to enable a person skilled in the pertinent art to make and use theembodiments.

FIG. 1 is a block diagram of a system that is configured toautomatically determine operation(s) that are to be performed by aswitching device in accordance with an example embodiment.

FIG. 2 is a block diagram of a system that is configured toautomatically determine operation(s) that are to be performed by aswitching device in accordance with another embodiment.

FIG. 3 depicts a data structure that stores a notification-to-actionmapping in accordance with an example embodiment.

FIG. 4 is a block diagram of a system that is configured toautomatically determine operation(s) that are to be performed by aswitching device in accordance with a further embodiment.

FIG. 5 is a block diagram of a system that is configured toautomatically determine operation(s) that are to be performed by aswitching device in accordance with yet another embodiment.

FIG. 6 is a block diagram of a system that is configured toautomatically determine operation(s) that are to be performed by aswitching device in accordance with yet a further embodiment.

FIG. 7 depicts a flowchart of a method performed by a switching devicethat performs an action in response to receiving a notification inaccordance with an example embodiment.

FIG. 8 depicts a flowchart of a method performed by a switching devicethat provides information associated with a detected object inaccordance with an example embodiment.

FIG. 9 is a block diagram of a computer system in accordance with anembodiment.

Embodiments will now be described with reference to the accompanyingdrawings. In the drawings, like reference numbers indicate identical orfunctionally similar elements. Additionally, the left-most digit(s) of areference number identifies the drawing in which the reference numberfirst appears.

DETAILED DESCRIPTION Introduction

The present specification discloses numerous example embodiments. Thescope of the present patent application is not limited to the disclosedembodiments, but also encompasses combinations of the disclosedembodiments, as well as modifications to the disclosed embodiments.

References in the specification to “one embodiment,” “an embodiment,”“an example embodiment,” etc., indicate that the embodiment describedmay include a particular feature, structure, or characteristic, butevery embodiment may not necessarily include the particular feature,structure, or characteristic. Moreover, such phrases are not necessarilyreferring to the same embodiment. Further, when a particular feature,structure, or characteristic is described in connection with anembodiment, it is submitted that it is within the knowledge of oneskilled in the art to affect such feature, structure, or characteristicin connection with other embodiments whether or not explicitlydescribed.

Furthermore, it should be understood that spatial descriptions (e.g.,“above,” “below,” “up,” “left,” “right,” “down,” “top,” “bottom,”“vertical,” “horizontal,” “front,” “rear,” etc.) used herein are forpurposes of illustration only, and that practical implementations of thestructures described herein can be spatially arranged in any orientationor manner.

Numerous exemplary embodiments are described as follows. It is notedthat the section/subsection headings used herein are not intended to belimiting. Embodiments described in this document may be eligible forinclusion within multiple different sections or subsections.Furthermore, disclosed embodiments may be combined with each other inany manner. Example systems, apparatuses, and methods are described asfollows.

For instance, in one embodiment, a method is performed by a switchingdevice. The switching device comprises a plurality of audio/video (AV)ports and a switch circuit that is operable to selectively connect anyone of a plurality of source devices, each of which is connected to acorresponding one of the AV ports, to a sink device that is connected toanother one of the AV ports. The method includes processing at least oneof a notification received via a network interface of the switchingdevice or a notification generated by the switching device, determiningone or more actions to be performed by the switching device in responseto receiving the notification using a notification-to-action mappingthat maps a plurality of different one or more notifications to aplurality of different one or more actions, and performing the one ormore actions.

In accordance with one or more embodiments, the notification is receivedvia one or more data sources configured to provide one or more ofnews-related information, sports-related information, weather-relatedinformation, social-media related information, or information associatedwith one or more accounts associated with a user of the switchingdevice.

In accordance with one or more embodiments, the notification indicatesthat a particular object has been detected in a video stream beingprovided to the sink device.

In accordance with one or more embodiments, the method further comprisesgenerating a search query based on the particular object indicated bythe notification, causing the search query to be submitted to a searchengine, and causing search results received based on the search query tobe displayed via the sink device.

In accordance with one or more embodiments, the notification is receivedfrom one or more devices communicatively coupled to the switchingdevice, the one or more devices comprising at least one of, a mobiledevice, a smart appliance, an Internet-of-Things device, a router, or agateway.

In accordance with one or more embodiments, the one or more actionscomprise launching an application on the switching device, causing anapplication on a mobile device communicatively coupled to the switchingdevice via the network interface to be launched, causing thenotification to be displayed on the sink device, causing thenotification to be displayed on the mobile device, causing a searchquery to be performed, switching to a port of the plurality of AV portsto which a source device of the plurality of source devices that isconfigured to perform at least one of the one or more actions iscoupled, or causing a source device of the plurality of source device toplayback content.

In accordance with one or more embodiment, said performing comprisesproviding a prompt to the sink device to be displayed thereby, theprompt prompting a user to indicating whether the one or more actionsare to be performed, and performing the one or more actions responsiveto receiving input from the user that is indicative that the one or moreactions are to be performed.

A switching device is also described herein. The switching deviceincludes a plurality of AV ports, a network interface, and a switchcircuit that is operable to selectively connect any one of a pluralityof source devices, each of which is connected to a corresponding one ofthe plurality of AV ports, to a sink device that is connected to anotherone of the plurality of AV ports. The switching device is configured toprocess at least one of a notification received via the networkinterface or a notification generated by the switching device, determineone or more actions to be performed by the switching device in responseto receiving the notification using a notification-to-action mappingthat maps a plurality of different one or more notifications to aplurality of different one or more actions, and perform the one or moreactions.

In accordance with one or more embodiments, the notification is receivedvia one or more data sources configured to provide one or more ofnews-related information, sports-related information, weather-relatedinformation, social-media related information, or information associatedwith one or more accounts associated with a user of the switchingdevice.

In accordance with one or more embodiments, the notification indicatesthat a particular object has been detected in a video stream beingprovided to the sink device.

In accordance with one or more embodiments, the switching device isfurther configured to generate a search query based on the particularobject indicated by the notification, cause the search query to besubmitted to a search engine, and cause search results received based onthe search query to be displayed via the sink device.

In accordance with one or more embodiments, the notification is receivedfrom one or more devices communicatively coupled to the switchingdevice, the one or more devices comprising, a mobile device, a smartappliance, an Internet-of-Things device, a router, or a gateway.

In accordance with one or more embodiments, the one or more actionscomprise launching an application on the switching device, causing anapplication on a mobile device communicatively coupled to the switchingdevice via the network interface to be launched, causing thenotification to be displayed on the sink device, causing thenotification to be displayed on the mobile device, causing a searchquery to be performed, switching to a port of the plurality of AV portsto which a source device of the plurality of source devices that isconfigured to perform at least one of the one or more actions iscoupled, or causing a source device of the plurality of source device toplayback content.

In accordance with one or more embodiment, the switching device isconfigured to perform the one or more actions by providing a prompt tothe sink device to be displayed thereby, the prompt prompting a user toindicating whether the one or more actions are to be performed, andperforming the one or more actions responsive to receiving input fromthe user that is indicative that the one or more actions are to beperformed.

A system is further described herein. The system includes one or moreprocessors and a memory containing computer-readable instructions,which, when executed by the one or more processors, is configured toperform operations in a switching device comprising a plurality of AVports and a switch circuit that is operable to connect any one of aplurality of source devices, each of which is connected to acorresponding one of the plurality of AV ports, to a sink device that isconnected to another one of the plurality of AV ports. The operationscomprise processing at least one of a notification received via anetwork interface of the switching device or a notification generated bythe switching device, determining one or more actions to be performed bythe switching device in response to receiving the notification using anotification-to-action mapping that maps a plurality of different one ormore notifications to a plurality of different one or more actions, andperforming the one or more actions.

In accordance with one or more embodiments, the notification is receivedvia one or more data sources configured to provide one or more ofnews-related information, sports-related information, weather-relatedinformation, social-media related information, or information associatedwith one or more accounts associated with a user of the switchingdevice.

In accordance with one or more embodiments, the notification indicatesthat a particular object has been detected in a video stream beingprovided to the sink device.

In accordance with one or more embodiments, the operation furthercomprises generating a search query based on the particular objectindicated by the notification, causing the search query to be submittedto a search engine, and causing search results received based on thesearch query to be displayed via the sink device.

In accordance with one or more embodiments, the notification is receivedfrom one or more devices communicatively coupled to the switchingdevice, the one or more devices comprising, a mobile device, a smartappliance, an Internet-of-Things device, a router, or a gateway.

In accordance with one or more embodiments, the one or more actionscomprise launching an application on the switching device, causing anapplication on a mobile device communicatively coupled to the switchingdevice via the network interface to be launched, causing thenotification to be displayed on the sink device, causing thenotification to be displayed on the mobile device, causing a searchquery to be performed, switching to a port of the plurality of AV portsto which a source device of the plurality of source devices that isconfigured to perform at least one of the one or more actions iscoupled, or causing a source device of the plurality of source device toplayback content.

These and further embodiments are described in even greater detail inthe following section.

Example Embodiments

Embodiments described herein enable a switching device to automaticallyperform one or more actions based on one or more notifications receivedthereby. A notification may be received by a device communicativelycoupled to the switching device, or alternatively, may beinternally-generated. In response to receiving the notification, theswitching device utilizes a notification-to-action map to determinewhich action(s) are to be performed based on the notification received.The action(s) include automatically switching the switching device to adevice coupled to a port thereof and/or automatically launching anapplication executing on that device in order to view the notificationand/or content associated with the notification. In another example, theaction(s) may include sending the notification to another device, suchas a user's mobile phone and/or causing an application executing on themobile phone to be launched in order to view the notification and/orcontent associated with the notification.

Such embodiments may be configured in various ways. For instance, FIG. 1is a block diagram of a system 100 that is configured to automaticallydetermine operations(s) (or action(s)) that are to be performed by aswitching device 104 in accordance with an example embodiment. As shownin FIG. 1, system 100 includes electronic devices 102A-102D, switchingdevice 104, a control device 106, a mobile device 114, one or more otherdevices 116, and one or more data source(s) 118. System 100 is describedin detail as follows.

Electronic devices 102A-102C are configured to provide audio and/orvideo signals (e.g., audio and/or video signals 108A, 108B, 108C,respectively) for playback and are referred to as “source” devices.Electronic device 102D is configured to receive audio and/or videosignals (e.g., audio and/or video signals 112) and is referred to as a“sink” device. As shown in FIG. 1, electronic device 102A is coupled toa first AV port 110A of switching device 104, electronic device 102B iscoupled to a second AV port 110B of switching device 104, electronicdevice 102C is coupled to a third AV port 110C of switching device 104,and electronic device 102D is coupled to a fourth AV port 110D ofswitching device 104. In accordance with an embodiment, AV ports110A-110D are High Definition Media Interface (HDMI) ports. However,embodiments described herein are not so limited, and other types ofports and communication protocols may be used. As further shown in FIG.1, electronic device 102A is a Blu-ray player, electronic device 102B isa set-top box, electronic device 102C is a streaming media device, andelectronic device 102D is a TV. Examples of a streaming media deviceinclude, but are not limited to, a Roku™ device, an AppleTV™ device, aGoogle Chromecast™, and/or the like. The depiction of these particularelectronics devices is merely for illustrative purposes. It is notedthat while FIG. 1 shows that switching device 104 includes four AV ports110A-110D, switching device 104 may include any number of AV ports, andtherefore, may be coupled to any number of electronic devices.

Switching device 104 is configured to select (e.g., switch between)different audio and/or video source devices that are coupled to AV ports110A-110C (e.g., electronic device 102A, electronic device 102B orelectronic device 102C) and provide an output signal (e.g., audio and/orvideo signals 112) comprising audio and/or video signals (e.g., audioand/or video signals 108A, audio and/or video signals 108B or audioand/or video signals 108C) provided by the selected audio/video sourceto electronic device 102D.. Audio and/or video signals 112 may also beprovided to any other device capable of playing back audio and/or videosignals (e.g., speakers) that may be coupled to AV port 102D and/orother port(s) (not shown) of switching device 104.

Each of AV ports 110A-110D may be configurable to be coupled to either asource device (e.g., electronic device 102A, electronic device 102B, orelectronic device 102C) or a sink device (e.g., electronic device 102D).For example, switching device 104 may be configured to automaticallydetermine whether an electronic device coupled to a particular AV portis a source device or a sink device. Based on that determination,switching device 104 may configure that AV port to be a source AV portor a sink AV port.

Switching device 104 may also be configured to automatically identify(e.g., determine) the electronic device coupled to each of AV ports110A-110D. For example, for each electronic device coupled to aparticular AV port, switching device 104 may be configured to determineone or more identifiers of the electronic device, such as, but notlimited to, a type of the electronic device (e.g., a DVD player, aBlu-ray player, a video game console, a streaming media device, a TV, anHDTV, a projector, etc.), a brand name of the electronic device, amanufacturer of the electronic device, a model number of the electronicdevice, etc. The identifier(s) may be determined according to varioustechniques, such as, but not limited to: techniques based on HDMIconsumer electronics control (CEC), identification via video data,identification via audio data, identification via IP network, remotecontrol operation by a user, voice input from a user, and explicitdevice selection by a user. Upon determining the identifier(s),switching device 104 may be configured to map the identified electronicdevice to the AV port to which that electronic device is connected. Thisprocess may be referred to as “device-to-port mapping”.

As further shown in FIG. 1, switching device 104 may also comprise anetwork interface 113. Network interface 113 may be configured tocommunicatively couple mobile device 114, data source(s) 118, and/orother device(s) 116 to switching device 104 via a network. For example,network interface 113 may be configured transmit and/or receive signalsto and/or from mobile device 114, data source(s) 118, and/or otherdevice(s) 116 in accordance with Bluetooth™, as described in the variousstandards developed and licensed by the Bluetooth™ Special InterestGroup, technologies such as ZigBee® that are based on the IEEE 802.15.4standard for wireless personal area networks, internet protocol(IP)-based communication technologies such as any of the well-known IEEE802.11 protocols, etc., and/or the like.

Examples of mobile device 114 include, but are not limited to, a tabletdevice, a smart phone, a laptop computer, a personal data assistant,etc. Examples of other device(s) 116 include, but are not limited to, apersonal computer, an Internet-of-Things (IoT) device (e.g., a smartthermostat, a video camera, a smart door bell, smart locking devices, amotion sensor, smart light bulbs, etc.), a smart appliance (e.g., awasher, dryer, refrigerator, etc.), a router, an access point, a networkgateway, etc.

Data source(s) 108 may be implemented via a server or distributed serverenvironment (e.g., one or more networked server(s) or “in the cloud”)that store and/or provide various information that may be retrieved fromand/or provided to switching device 104. The information includes, butis not limited to, real-time information (e.g., traffic-relatedinformation, weather-related information, news-related information,sporting-event related information), electronic programmingguide-related information, location-based information, etc. Theinformation may also include social media-related information (e.g.,notification(s) associated with one or more social media accountsassociated with user(s) of switching device 104 (for example, statusupdates, tweets, posts of social media contacts connected to the user(s)of switching device 103)). The information may also include informationassociated with other accounts and/or service(s) associated with theuser (e.g., bank accounts, ridesharing service accounts, etc.). Datasource(s) 108 may be accessible via a network (e.g., in a “cloud-based”embodiment) coupled to network interface 113. The network may compriseone or more networks such as local area networks (LANs), wide areanetworks (WANs), enterprise networks, the Internet, etc., and mayinclude one or more of wired and/or wireless portions.

In an embodiment, data source(s) 118 may be co-located (e.g., housed inone or more nearby buildings with associated components such as backuppower supplies, redundant data communications, environmental controls,etc.) to form a datacenter, or may be arranged in other manners.Accordingly, in an embodiment, one or more of data source(s) 118 may bea datacenter in a distributed collection of datacenters.

In embodiments, switching device 104 is configured to automaticallyperform one or more actions upon receiving a notification, via networkinterface 113, from one or more of mobile device 114, other device(s)116, control device 106, data source(s) 118, and/or electronic device(s)102A-102D. Switching device 104 may be further configured toautomatically perform action(s) based on an internally-generatednotification, which is based on a detection of a particular object orscene within a video stream being provided to and/or displayed by adisplay device (e.g., electronic device 102D). For instance, switchingdevice 104 may utilize a notification-to-action mapping, which specifiesthe actions to be performed based on the notification received.Additional details regarding the foregoing techniques is described belowwith reference to FIGS. 2-8.

Control device 106 may be operable to control any or all of electronicdevices 102A-102D and/or switching device 104. Control device 106 mayinclude a display screen and/or one or more physical interface elements(e.g., buttons, sliders, jog shuttles, etc.). In accordance with anembodiment, the display screen (or a portion thereof) may be acapacitive touch display screen. The display screen may be configured todisplay one or more virtual interface elements (e.g., icons, buttons,search boxes, etc.). The display screen may be configured to enable auser to interact, view, search, and/or select content for viewing viaany of electronic device 102A-102D and switching device 104.

In accordance with an embodiment, control device 106 may be operable tocontrol any or all of electronic devices 102A-102D by transmittingcontrol signals thereto. In accordance with an embodiment, the controlsignals are transmitted via a wired connection (e.g., via a UniversalSerial Bus (USB) cable, a coaxial cable, etc.). In accordance withanother embodiment, the control signals are transmitted via a wirelessconnection (e.g., via infrared (IR) communication, or radio frequency(RF) communication provided via network interface 113 (e.g., Bluetooth™,as described in the various standards developed and licensed by theBluetooth™ Special Interest Group, technologies such as ZigBee® that arebased on the IEEE 802.15.4 standard for wireless personal area networks,near field communication (NFC), other RF-based or internet protocol(IP)-based communication technologies such as any of the well-known IEEE802.11 protocols, etc.) and/or the like).

In accordance with an embodiment, control device 106 is a mobile device(e.g., mobile device 114). In accordance with another embodiment,control device 106 is a dedicated remote control device including smartfeatures such as those typically associated with a smart phone (e.g.,the capability to access the Internet and/or execute variety ofdifferent software applications), but without the capability ofcommunicating via a cellular network.

FIG. 2 is a block diagram of a system 200 for automatically determiningan operation to be performed by a switching device 204 in accordancewith another embodiment. As shown in FIG. 2, system 200 includes one ormore electronic devices 202A, one or more electronic devices 202B,switching device 204, other device(s) 216, mobile device 214, and datasource(s) 218. Electronic device(s) 202A are source devices configuredto provide audio and/or video signals. Electronic device(s) 202B aresink devices configured to receive audio and/or video signals.Electronic device(s) 202A may be examples of electronic devices202A-202C, and electronic device(s) 202B may be examples of electronicdevice 102D, as described above in reference to FIG. 1.

Switching device 204 may be an example of switching device 104, asdescribed above in reference to FIG. 1. As shown in FIG. 2, switchingdevice 204 includes AV port(s) 210, transceiver 240, mapping component206, control logic 220, identification component 238 and a networkinterface 212. Network interface 212 is an example of network interface113, as shown in FIG. 1. Each of electronic devices 202A and 202B arecoupled to an AV port of AV port(s) 210.

Transceiver 204 may be configured to receive audio and/or video signalsand to transmit audio and/or video signals. In other words, transceiver240 provides received input audio and/or video signals from sourcedevices as output audio and/or video signals to sink devices, inaccordance with the embodiments herein.

Identification component 238 may be configured to identify theelectronic device (e.g., electronic device(s) 202A or 202B) coupled toeach AV port of AV port(s) 210. For example, for each electronicdevice(s) 202A or 202B, identification component 238 may be configuredto determine identifier(s) of the electronic device, such as, but notlimited to a type of the electronic device (e.g., a DVD player, aBlu-ray player, a video game console, a streaming media device, a TV, anHDTV, a projector, etc.), a brand name of the electronic device, amanufacturer of the electronic device, a model number of the electronicdevice, the capabilities thereof, etc. The identifier(s) may bedetermined according to various techniques, such as, but not limited to:techniques based on HDMI consumer electronics control (CEC),identification via video data, identification via audio data,identification via IP network, remote control operation by a user, voiceinput from a user, and explicit device selection by a user.Identification component 238 provides the identifier(s) to mappingcomponent 206.

Identification component 238 may be further configured to analyze thevideo signals provided to and/or the video content played back viaelectronic device(s) 202B to determine one or more objects or scenesbeing displayed. For example, switching device 204 may comprise a camerathat records the images and/or video stream being played back byelectronic device(s). Identification component 238 may perform imagerecognition on the images and/or video stream in accordance with animage recognition algorithm to detect objects or scenes being displayedby electronic device(s) 202B. Alternatively, identification component238 may process and/or analyze the video signals (e.g., perform imagerecognition techniques) provided by electronic device(s) 202A to detectobjects or scenes displayed by electronic device(s) 202B. As will bedescribed below, switching device 204 may be configured to perform anaction upon detecting a particular object or scene.

Mapping component 206 is configured to determine a device-to-portmapping based on the device identifier(s) received from identificationcomponent 238. For example, mapping component 206 may receive orgenerate a first data structure (e.g., a map such as a table, array,etc.) that associates the device identifier(s) for any given identifiedelectronic device to the AV port to which that electronic device iscoupled. In this way, this device-to-port map may indicate that a firstelectronic device (e.g., a Blu-ray player) is coupled to a first AV port(e.g., AV Port 1), that a second electronic device (e.g., a set-top box)is coupled to a second AV port (e.g., AV Port 2), and that a thirdelectronic device (e.g., a TV) is coupled to a third AV port (e.g., AVPort 3). Mapping component 206 may also associate any determinedcapabilities of such devices to the identifiers thereof.

Mapping component 206 is also configured to determine anotification-to-action mapping. For example, mapping component 206 maygenerate a second data structure (e.g., a map such as a table, array,etc.) that associates different notifications to different actions to beperformed responsive of receiving such notifications. An example of anotification-to-action map is shown in FIG. 3. For example, FIG. 3depicts a data structure 300 that stores a notification-to-action map inaccordance with an example embodiment. While data structure 300 isdepicted as a table, any suitable data structure may be used. As shownin FIG. 3, data structure 300 comprises a notification column 302 and anaction column 304. Upon receiving a notification from one or more ofmobile device 214, other device(s) 216, data source(s) 218, mappingcomponent 206 may determine whether such a notification is stored indata structure 300. If the notification is found, mapping component 206determines the corresponding action(s) to be performed. Switching device204 may enable a user to associate actions to different notifications.For instance, switching device 204 may display a user interface (e.g., agraphical user interface) via electronic device(s) 202B that enables auser to designate any number of actions to any number of differentnotifications.

FIG. 4 is a block diagram of a system 400 for automatically performingan action based on a notification received by a switching device 404 inaccordance with another embodiment. As shown in FIG. 4, system 400includes switching device 404, electronic device 402A, electronic device402B, a mobile device 414, and data source(s) 418. System 400, switchingdevice 404, mobile device 414, and data source(s) 418 are examples ofsystem 200, switching device 204, mobile device 214, and data source(s)218, as described above with reference to FIG. 2. Electronic device 402Ais an example of electronic device(s) 202A, and electronic device 402Bis an example of electronic device(s) 202B, as described above withreference to FIG. 2. Switching device 404 includes port(s) 410, mappingcomponent 406, control logic 420, transceiver 440, identificationcomponent 438, and network interface 412. Port(s) 410, mapping component406, control logic 420, transceiver 440, identification component 438,and network interface 412 are examples of port(s) 210, mapping component206, control logic 220, transceiver 240, identification component 238,and network interface 212, as described above with reference to FIG. 2.As further shown in FIG. 4, switching device 404 may comprise a softwareapplication 442, and/or mobile device 414 may comprise a softwareapplication 444.

In accordance with FIG. 4, suppose switching device 404 receives anotification 401 from data source(s) 418 via network interface 412.Notification 401 may comprise a weather-related notification (e.g.,“Severe Thunderstorm Warning”), a news-related notification (e.g., “MarsLanding Underway!”), a sports-related notification (“Game 7 of the WorldSeries is about to start!”, “Warriors down by three with one minuteremaining!”, etc.) from data source(s) 218, or other types ofnotifications (such as, but not limited to, an indication that a newmovie or TV show on a content providing service has been released).Switching device 404 may receive such notifications by registering withdata source(s) 418 that provide such services. A user, for example,during a setup/configuration process, may configure switching device 404to receive notifications from such data source(s) 418. For instance, auser may provide, to switching device 404, credentials (e.g., ausername, password, etc.) that the user uses to log in to such datasource(s) 418. Switching device 404 utilizes such credentials to loginto data source(s) 418, and data source(s) 418 provides notificationsto switching device 404 accordingly.

Data structure 300 of mapping component 406 may specify thatnotification 401 (and/or contents thereof) is to be displayed viaelectronic device 402B, that notification 401 (and/or contents thereof)is to be forwarded to mobile device 414 via network interface 412 (whichmay cause notification 401 (and/or contents thereof) to be displayed viamobile device 414 or cause application 444 to be launched on mobiledevice 414), and/or launch application 442 stored by switching device404. Application 444 executing on mobile device 414 and/or application444 executing on switching device 404 may comprise a web browserapplication that traverses to an associated website (e.g., included innotification 401) upon receiving notification 401. Such websitesinclude, but are not limited to, a weather-related website, anews-related website, a sports-related website, etc. Application 442and/or application 444 may also be an associated application (e.g., aweather-related software application, a sports-related softwareapplication, a news-related software application) that launches uponreceiving notification 401. Another action that may be specified by datastructure 300 is automatically switching to an associated channel (e.g.,a weather-related channel, a news-related channel, a sports-relatedchannel (e.g., a news channel for sports, the channel on which a gameidentified in the notification is being broadcasted, etc.)). Forinstance, control logic 420 may determine an electronic device coupledto switching device 404 (e.g., electronic device 402A) that providestelevision programming (e.g., a cable set-top box, a satellite set-topbox, etc.). For example, control device 420 provides a query 407 tomapping component 205 to search for devices coupled to switching device404 that are capable of providing television programming (e.g., bysearching for the stored capabilities), and mapping component 406provides a response 409 specifying the port of port(s) 410 to which thedetermined device is coupled. Responsive to receiving response 409,control logic 420 automatically switches to specified port of port(s)410. Control logic 420 may access the EPG of that determined electronicdevice to determine the channel number of the associated channel andsend a control signal 403 to the determined electronic device (e.g.,electronic device 402) that causes the electronic device toautomatically tune/change to the determined channel number. Controlsignal 403 may be provided to electronic device 402A via the port ofport(s) 410 to which the electronic device is coupled. For instance,control signal 403 may be HDMI-CEC-based control signal that identifiesthe channel. Alternatively, in an embodiment in which electronic device402A is coupled to switching device 404 via network interface 412,control signal 403 may be provided to the electronic device via networkinterface 412. Accordingly, an action to be performed may be amulti-step action (e.g., 1) determine a device (e.g., electronic device402A) that provides television programming; 2) automatically switch tothe port or port(s) 410 to which that device is connected; 3) determinethe channel number of an associated channel; and 4) send control signal403 to electronic device 402A that causes device 402A to tune/change tothe determined channel number). In the event that switching device 404is already switched to the port of port(s) 410 to which the determineddevice is connected, the second step may be skipped. Beforeautomatically switching ports, control logic 420 may provide anotification 405 to electronic device 402B for display thereby thatprompts the user for input as to whether the user would like to watch anassociated channel. Notification 405 may be provided to electronicdevice 402B via a port of port(s) 410 to which electronic device 402B iscoupled and/or or via network interface 412. If the user provides anegative input, i.e., indicating that the user would not like to watchthe associated channel, switching device 404 does not perform the portswitching and/or channel changing operations. If the user provides apositive input, i.e., indicating that the user would like to watch theassociated channel, switching device 404 performs the port switchingand/or channel changing operations.

In another example, notification 401 may be a social media-relatednotification (e.g., “Bob J. just tweeted!”). Data structure 300 mayspecify that notification 401 is to be displayed via electronic device402B, that notification 401 is to be forwarded to mobile device 414(which may cause notification 401 to be displayed via mobile device 214or cause application 444 to be launched on mobile device 414), and/orlaunch application 442 stored by switching device 404. Application 444executing on mobile device 414 and/or application 442 executing onswitching device 404 may comprise a web browser application thattraverses to a social-media website upon receiving the notification,which is displayed via electronic device 402B. Alternatively,application 442 and/or 444 may be a social media-related softwareapplication (e.g., Twitter™, Facebook™, Linkedln™, etc.) that launchesupon receiving notification 401. Another action that may be specified bydata structure 300 is automatically playing certain content (e.g., a TVshow, a movie, etc.). For example, notification 401 may specify that theuser's friend is watching certain content (“Mike W. is watching Game ofThrones”). In accordance with such an example, control logic 420 maydetermine an electronic device coupled to switching device 404 (e.g.,electronic device 402A) that provides a content providing service (e.g.,an Internet streaming service, such as, HBO Go™, Hulu™ Netflix™, etc.),a particular channel provided via a cable set-top box or a satelliteset-top box, etc. that provides such content, etc. using mappingcomponent 406 as described above. For example, control device 420provides a query 407 to mapping component 406 to search for devicescoupled to switching device 404 that are capable of providing televisionprogramming (e.g., by searching for the stored capabilities), andmapping component 406 provides a response 409 specifying the port ofport(s) 410 to which the determined device is coupled. Responsive toreceiving response 409, control logic 420 automatically switches tospecified port of port(s) 410. Control device 420 may also provide acontrol signal 411 to the determined device (e.g., electronic device(s)402A) that causes that device to launch the appropriate contentproviding service and/or to initiate playback of the content using thatservice. Before automatically switching ports, switching device 404 mayprovide a notification (e.g., notification 405) to electronic device402B for display thereby that prompts the user for input as to whetherthe user would like to watch the same content being watched by hisfriend. If the user provides a negative input, i.e., indicating that theuser would not like to watch the content, switching device 404 does notperform the port switching and/or content providing service launchingoperations. If the user provides a positive input, i.e., indicating thatthe user would like to watch the associated channel, switching device404 performs the port switching and/or content providing servicelaunching operations.

In another example, notification 401 may be associated with aridesharing service (e.g., “Your ride is here!”). Data structure 300 ofmapping component 406 may specify that notification 401 (and/or thecontents thereof) is to be displayed via electronic device 402B and/orthat the notification 401 is to be forwarded to mobile device 414 (whichmay cause the notification to be displayed via mobile device 214).Notification 401 (and/or the contents thereof) may be provided to theelectronic device (e.g., electronic device 402B) via the port of port(s)410 to which the electronic device is coupled. For instance, controllogic 420 may provide a control signal 413 that comprises the contentsof notification 401. Control signal 413 may be a HDMI-CEC-based controlsignal. Alternatively, in an embodiment in which electronic device 402Bis coupled to switching device 404 via network interface 412, controlsignal 413 may be provided to the electronic device via networkinterface 412.

FIG. 5 is a block diagram of a system 500 for automatically performingan action based on a notification received by a switching device 504 inaccordance with another embodiment. As shown in FIG. 5, system 500includes switching device 504, electronic device 502A, electronic device502B, a mobile device 514, and other device(s) 516. System 500,switching device 504, mobile device 514, and other device(s) 516 areexamples of system 500, switching device 504, mobile device 514, andother device(s) 516, as described above with reference to FIG. 2.Electronic device 502A is an example of electronic device(s) 202A, andelectronic device 502B is an example of electronic device(s) 202B, asrespectively described above with reference to FIG. 2. Switching device504 includes port(s) 510, mapping component 506, control logic 520,transceiver 540, identification component 538, and network interface512. Port(s) 510, mapping component 506, control logic 520, transceiver540, identification component 538, and network interface 512 areexamples of port(s) 210, mapping component 206, control logic 220,transceiver 240, identification component 238, and network interface212, as described above with reference to FIG. 2. As further shown inFIG. 5, switching device 504 may comprise a software application 542,and/or mobile device 414 may comprise a software application 544.Application 542 and application 544 are examples of application 442 andapplication 444, as described above with reference to FIG. 4.

In accordance with FIG. 5, a notification 501 may be received from otherdevice(s) 216 via network interface 512. For instance, switching device504 may receive notification 501 from a motion sensor, a camera, a smartdoor bell, smart light bulb, a smart thermostat, a smart lockingmechanism (e.g., a door lock), etc., that indicates that a person is atthe user's front door, that some activity has been detected in theuser's home or that certain other device(s) 516 (e.g., camera, motionsensor, etc.) have been moved or re-located, etc. Data structure 300 ofmapping component 506 may specify that notification 501 is to bedisplayed via electronic device 502, that notification 501 is forwardedto mobile device 514 via network interface 512 (which may causenotification 501 (and/or the contents thereof) to be displayed viamobile device 514 and/or cause application 544 to be launched on mobiledevice 514 (e.g., so that user can be made aware of such activity in theevent he is not home)), and/or launch application 542 stored byswitching device 504. Applications 542 and/or 544 may comprise a webbrowser application that traverses to a home security website associatedwith the user that displays a video and/or audio stream provided by thecamera upon receiving notification 501. Applications 524 and/or 544 mayalso be a home security application that launches upon receivingnotification 501. Application 542 may be displayed via electronic device502B. Alternatively, the video and/or audio stream provided by camera(shown as video and/or audio stream 505) may be provided to switchingdevice 512 via network interface 512, and control logic 520 providesvideo and/or audio stream 505 to electronic device 502B via the port ofport(s) 510 to which electronic device 502B is coupled. In accordancewith an embodiment, when viewing stream 505 via electronic device 502B,stream 505 is overlaid on top of content being played back thereby(e.g., in a picture-in-picture format). Before providing stream 505,control logic 520 may provide a notification 503 to be displayed viaelectronic device 502B that prompts the user for input as to whether theuser would like to view stream 505 of the camera. If the user provides anegative input, i.e., indicating that the user would not like to viewstream 505, switching device 504 does not provide stream 505 toelectronic device 502B. If the user provides a positive input, i.e.,indicating that the user would like to watch stream 505, switchingdevice 504 provides the stream 505 to electronic device 502B. Inaccordance with an embodiment, the camera may be communicatively coupledto a streaming device 546 connected to a port of port(s) 510. The cameramay be configured to provide stream 505 to streaming device 546. Inaccordance with such an embodiment, data structure 300 of mappingcomponent 506 may further specify that switching device 504 is to switchto that port. Control device 520 may provide query 507 specifyingstreaming device 546 to mapping component 506, and mapping component 506provides response 506 specifying the port of port(s) 510 to whichstreaming device 546 is coupled. Responsive to receiving response 509,control logic 420 automatically switches to the specified port ofport(s) 510. Upon switching to the appropriate port, video and/or audiostream 505 is provided to and displayed via electronic device 502B viathe port of port(s) 510.

In another example, other device(s) 516 may comprise a router, gateway,etc. In such an example, the router, gateway, etc., may detect whether adevice (e.g., a mobile device) has attempted to access the network andprovide a notification (e.g., notification 501) to switching device 504indicating as such via network interface 512. Data structure 300 ofmapping component 506 may specify that an appropriate action is toprovide notification 501 electronic device 502B for display thereby, toforward notification 501 to mobile device 514 (which may causenotification 501 to be displayed via mobile device 514 and/or causeapplication 544 to be launched on mobile device 514), and/or to launchapplication 542 of switching device 504. In accordance with such anexample, application 544 executing on mobile device 514 and/orapplication 542 executing on switching device 504 may comprise a webbrowser application that traverses to the internet protocol (IP) addresscorresponding to the router, gateway, etc. Before automaticallylaunching the application 542, control logic 520 may provide anotification (e.g., notification 503) to electronic device 502B via theport of port(s) 510 to which electronic device 502B is coupled fordisplay thereby. Alternatively, in an embodiment in which electronicdevice 502B is coupled to switching device 502 via network interface512, notification 503 may be provided to electronic device 502B vianetwork interface 512. Notification 503 prompts the user for input as towhether the user would like to traverse to the IP address. If the userprovides a negative input, i.e., indicating that the user would not liketo traverse to the IP address, switching device 504 does not launchapplication 542. If the user provides a positive input, i.e., indicatingthat the user would like to traverse to the IP address, switching device504 launches application 542. In accordance with an embodiment, therouter may be communicatively coupled to a device connected to a port ofport(s) 510, which receives notification 503. Such a device providesnotification 501 to switching device 504 via the port of port(s) 210.

FIG. 6 is a block diagram of a system 600 for automatically performingan action based on a notification received by a switching device 504 inaccordance with a further embodiment. As shown in FIG. 6, system 600includes switching device 604, an electronic device 602A, an electronicdevice 602B, and a mobile device 614. System 600, switching device 604,mobile device 614, and mobile device 614 are examples of system 200,switching device 204, and mobile device 214, as described above withreference to FIG. 2. Electronic device 602A is an example of electronicdevice(s) 202A, and electronic device 602B is an example of electronicdevice(s) 202B, as respectively described above with reference to FIG.2. Switching device 604 includes port(s) 610, mapping component 606,control logic 620, transceiver 640, identification component 638, andnetwork interface 612. Port(s) 610, mapping component 606, control logic620, transceiver 640, identification component 638, and networkinterface 612 are examples of port(s) 210, mapping component 206,control logic 220, transceiver 240, identification component 238, andnetwork interface 212, as described above with reference to FIG. 2. Asfurther shown in FIG. 6, switching device 504 may comprise a softwareapplication 642, and/or mobile device 614 may comprise a softwareapplication 644. Application 642 and application 644 are examples ofapplication 542 and application 544, as described above with referenceto FIG. 5.

In accordance with FIG. 6, identification component 638 may generate anotification 601 in response to detecting an object or scene beingdisplayed on electronic device 502B. Identification component 538 mayperform image recognition on the images and/or video stream beingprovide to electronic device 602B in accordance with an imagerecognition algorithm to detect objects or scenes being displayed byelectronic device 502B. Notification 601 may specify the detected objector scene and may be provided to control logic 620.

Data structure 300 of mapping component 606 may specify certainaction(s) to be performed depending on the type of object or scenedetected. For example, if a food item is detected (e.g., pizza), datastructure 300 may specify that the user should be prompted for input asto whether the user would like to order the food item. For instance,control logic 620 may provide a prompt to electronic device 602B fordisplay thereby. The prompt may be provided to electronic device 602Bvia the port of port(s) to which electronic device 602B is coupled. Forinstance, the prompt may be provided via a control signal 603 that is inaccordance with the HDMI CEC protocol. Alternatively, in an embodimentin which electronic device 602B is coupled to switching device 604 vianetwork interface 612, control signal 603 may be provided to electronicdevice 602B via network interface 604. If the user provides a positiveinput, i.e., indicating that the user would like order the pizza,switching device 604 may cause a browser application (e.g., application642) executing on switching device 604 to traverse to a website of arestaurant that offers the food item, which is displayed via electronicdevice 602B. The website enables the user to order the food item (and/orother item(s)) and/or have the item(s) delivered to the user. In anotherexample, switching device 604 may send a notification 605 to mobiledevice 614 that causes mobile device 614 to call the restaurant, causesa browser application executing thereon (e.g., application 644) totraverse to the restaurant's website, or causes a software applicationassociated with that restaurant to be launched on mobile device 614. Thesoftware application enables the user to purchase the food item (and/oritem(s)) and/or have the food item delivered to the user.

Another object or scene may be an item of clothing, a famous person(e.g., an actor, a politician, etc.), a consumer good, a particularscene or location, or any other type of object or scene. Data structure300 may specify that the user should be prompted (e.g., via controlsignal 603) for input as to whether the user would like to be presentedwith additional information regarding the detected object(s) or performa search query on behalf of the user. If the user provides a positiveinput, i.e., indicating that the user would like more information,switching device 604 may cause a browser application (e.g., application642) executing on switching device 604 to traverse to a website enabledto provide such information, which is displayed via electronic device602B. For instance, control logic 620 may formulate a search query 607based on the identified object or scene and provide search query 607 toapplication 642. In response, application 642 may submit search query607 to a search engine and present a search results page 609 viaelectronic device 602B. In another example, control logic 620 may sendnotification 607 to mobile device 614 via network interface 612 thatcauses mobile device 614 to launch a browser application executingthereon (e.g., application 644) to traverse to such a website and/orperform the search query.

In another example, switching device 204 may receive notification(s)(e.g., a news-related, weather-related, sports-related, social-mediarelated notification, etc.) from a software application executing onmobile device 614 (e.g., application 644). Switching device 604 mayperform the action(s) specified by data structure 300 for suchnotification(s). The action(s) may include launching an applicationexecuting on switching device 604 (e.g., application 642). Application642 executing on switching device 604 may comprise a web browserapplication that traverses to an associated website (e.g., aweather-related website, a news-related website, a sports-relatedwebsite) upon receiving the notification. Application 642 may also be anassociated application (e.g., a weather-related software application, asports-related software application, a news-related softwareapplication) that launches upon receiving the notification. It is notedthat in certain embodiments, the notification(s) provided by mobiledevice 614 may specify action(s) that are to be performed by switchingdevice 604. Accordingly, usage of data structure 300 may not be requiredin such a case.

It is noted that the notification(s) and action(s) described above arepurely exemplary and that any type of notification may be mapped to anynumber and/or type of action(s). For example, data structure 300 may mapaction(s), such as changing the volume of electronic device 602B,powering on/off one or more of electronic device(s) 602A and 602B,sending a control signal to a digital video recorder (DVR) or a cableset-top box or a satellite set-top box that incorporates a DVR thatcauses the DVR to set a recording, etc., in response to receivingcertain notification(s) from mobile device 614, data source(s) 418 (asdescribed above with reference to FIG. 4), and/or other device(s) 516(as described above with reference to FIG. 5).

Accordingly, in embodiments, a switching device may be configured toperform action(s) based on notification(s) in many ways. For instance,FIG. 7 depicts a flowchart 700 of a method performed by a switchingdevice that performs an action in response to receiving a notificationin accordance with an example embodiment. The switching device maycomprise a plurality of AV ports and a switch circuit that is operableto selectively connect any one of a plurality of source devices, each ofwhich is connected to a corresponding one of the plurality of AV ports,to a sink device that is connected to another one of the plurality of AVports. The method of flowchart 700 is described with continued referenceto FIGS. 3-6. Other structural and operational embodiments will beapparent to persons skilled in the relevant art(s) based on thefollowing discussion regarding flowchart 700 and systems 300, 400, 500,and 600.

Flowchart 700 begins with step 702. At step 702, at least one of anotification received via a network interface of the switching device ora notification generated by the switching device is processed. Forexample, with reference to FIGS. 4 and 5, switching device 404 or 505may process notification 401 or 501 received via network interface 412or 512, respectively, or, with reference to FIG. 6, may processnotification 601 generated by identification component 638 of switchingdevice 604.

In accordance with one or more embodiments, the notification is receivedvia one or more data sources configured to provide one or more ofnews-related information, sports-related information, weather-relatedinformation, social-media related information or information associatedwith one or more accounts associated with a user of the switchingdevice. For example, with reference to FIG. 4, notification 401 isreceived via data source(s) 418.

In accordance with one or more embodiments, the notification is receivedfrom one or more devices communicatively coupled to the switchingdevice, the one or more devices comprising a mobile device, a smartappliance, an Internet-of-Things device, a router, or a gateway. Forexample, with reference to FIG. 5, notification 501 is received fromother device(s) 516.

In accordance with one or more embodiments, the notification indicatesthat a particular object has been detected in a video stream beingplayed back by the sink device. For example, with reference to FIG. 6,notification 601 indicates that a particular object has been detected ina video stream being provided to and/or being played back electronicdevice 602B.

At step 704, one or more actions to be performed by the switching deviceare determined in response to receiving the notification using anotification-to-action mapping that maps a plurality of different one ormore notifications to a plurality of different one or more actions. Forexample, with reference to FIGS. 4-6, control logic 420, 520, or 620determines action(s) to be performed by switching device 404, 504, or604 in response to receiving notification 401, 501, or 601 using anotification-to-action mapping maintained by mapping component 406,mapping component 506, or mapping component 606, respectively.

At step 706, the action(s) are performed. For example, with reference toFIGS. 4-6, switching device 404, switching device 504, or switchingdevice 604, respectively performs the action(s).

In accordance with one or more embodiments, the action(s) compriselaunching an application on the switching device, causing an applicationon a mobile device communicatively coupled to the switching device viathe network interface to be launched, causing the notification to bedisplayed on the sink device, causing the notification to be displayedon the mobile device, causing a search query to be performed, switchingto a port of the plurality of AV ports to which a source device of theplurality of source devices that is configured to perform at least oneof the one or more actions is coupled, or causing a source device of theplurality of source device to playback content.

For example, with reference to FIG. 4, control logic 420 launchesapplication 442 on switching device 404 or causes application 444 onmobile device 414 to be launched. With reference to FIG. 5, controllogic 520 causes notification 501 to be displayed on electronic device502B or causes notification 501 to be displayed on mobile device 514.With reference to FIG. 6, control logic 620 causes a search query 507 tobe performed by application 642. With reference to FIG. 4, control logic420 may cause switching device 404 to switch to a port of port(s) 410 towhich electronic device 402A is coupled or cause electronic device 402Ato playback content.

In accordance with one or more embodiments, the switching deviceprovides a prompt to the sink device to be displayed thereby, the promptprompting a user to indicating whether the one or more actions are to beperformed. The one or more actions are performed responsive to receivinginput from the user that is indicative that the one or more actions areto be performed. For example, with reference to FIG. 5, control logic520 of switching device 504 provides a prompt via control signal 503 toelectronic device 502B via a port of port(s) 510 to which electronicdevice 502B is coupled. Switching device 504 performs the one or moreactions responsive to the user providing a positive input that indicatesthat the one or more actions are to be performed.

In accordance with one or more embodiments, the user may be presentedwith information associated with the object detected. For instance, FIG.8 depicts a flowchart 800 of a method performed by a switching devicethat provides information associated with a detected object inaccordance with an example embodiment. The method of flowchart 800 isdescribed with continued reference to FIG. 6. Other structural andoperational embodiments will be apparent to persons skilled in therelevant art(s) based on the following discussion regarding flowchart800 and system 600.

Flowchart 800 begins with step 802. At step 802, a search query isgenerated based on the particular object indicated by the notification.For example, with reference to FIG. 6, control logic 620 may generate asearch query 607 based on the particular object indicated bynotification 601.

At step 804, the search query is caused to be submitted to a searchengine. For example, with reference to FIG. 6, control logic 620provides search query 607 to application 642, which submits search query607 to a search engine.

At step 806, search results received based on the search query arecaused to be displayed via the sink device. For example, with referenceto FIG. 6, application 642 provides search results 609 to electronicdevice 602B via a port of port(s) 610 to which electronic device 602B iscoupled.

Further Example Embodiments

A device, as defined herein, is a machine or manufacture as defined by35 U.S.C. § 101. Devices may be digital, analog or a combinationthereof. Devices may include integrated circuits (ICs), one or moreprocessors (e.g., central processing units (CPUs), microprocessors,digital signal processors (DSPs), etc.) and/or may be implemented withany semiconductor technology, including one or more of a BipolarJunction Transistor (BJT), a heterojunction bipolar transistor (HBT), ametal oxide field effect transistor (MOSFET) device, a metalsemiconductor field effect transistor (MESFET) or other transconductoror transistor technology device. Such devices may use the same oralternative configurations other than the configuration illustrated inembodiments presented herein.

Techniques and embodiments, including methods, described herein may beimplemented in hardware (digital and/or analog) or a combination ofhardware and software and/or firmware. Techniques described herein maybe implemented in one or more components. Embodiments may comprisecomputer program products comprising logic (e.g., in the form of programcode or instructions as well as firmware) stored on any computer useablestorage medium, which may be integrated in or separate from othercomponents. Such program code, when executed in one or more processors,causes a device to operate as described herein. Devices in whichembodiments may be implemented may include storage, such as storagedrives, memory devices, and further types of computer-readable media.Examples of such computer-readable storage media include, but are notlimited to, a hard disk, a removable magnetic disk, a removable opticaldisk, flash memory cards, digital video disks, random access memories(RAMs), read only memories (ROM), and the like. In greater detail,examples of such computer-readable storage media include, but are notlimited to, a hard disk associated with a hard disk drive, a removablemagnetic disk, a removable optical disk (e.g., CDROMs, DVDs, etc.), zipdisks, tapes, magnetic storage devices, MEMS (micro-electromechanicalsystems) storage, nanotechnology-based storage devices, as well as othermedia such as flash memory cards, digital video discs, RAM devices, ROMdevices, and the like. Such computer-readable storage media may, forexample, store computer program logic, e.g., program modules, comprisingcomputer executable instructions that, when executed, provide and/ormaintain one or more aspects of functionality described herein withreference to the figures, as well as any and all components, steps andfunctions therein and/or further embodiments described herein.

Computer readable storage media are distinguished from andnon-overlapping with communication media (do not include communicationmedia or modulated data signals). Communication media embodiescomputer-readable instructions, data structures, program modules orother data in a modulated data signal such as a carrier wave. The term“modulated data signal” means a signal that has one or more of itscharacteristics set or changed in such a manner as to encode informationin the signal. By way of example, and not limitation, communicationmedia includes wired media as well as wireless media such as acoustic,RF, infrared and other wireless media. Example embodiments are alsodirected to such communication media.

The automatic operation/action determination embodiments and/or anyfurther systems, sub-systems, and/or components disclosed herein may beimplemented in hardware (e.g., hardware logic/electrical circuitry), orany combination of hardware with software (computer program codeconfigured to be executed in one or more processors or processingdevices) and/or firmware.

The embodiments described herein, including systems, methods/processes,and/or apparatuses, may be implemented using well known processingdevices, servers, electronic devices (e.g., consumer electronic devices)and/or, computers, such as a computer 900 shown in FIG. 9. It should benoted that computer 900 may represent communication devices, processingdevices, servers, and/or traditional computers in one or moreembodiments. For example, electronic devices 102A-102D, switching device104, mobile device 114, control device 106, other device(s) 116, anddata source(s) 118 (as described above in reference to FIG. 1),switching device 204, electronic device(s) 202A-202B, other device(s)216, mobile device 214, and/or data source(s) 218 (as described above inreference to FIG. 2), switching device 404, electronic devices402A-402B, mobile device 414, and/or data source(s) 418 (as describedabove in reference to FIG. 4), switching device 504, electronic devices502A-502B, mobile device 514, and/or other device(s) 516, and streamingdevice 546 (as described above in reference to FIG. 5), and switchingdevice 604, electronic devices 602A-602B, and mobile device 614 (asdescribed above in reference to FIG. 6), any of the sub-systems,components or sub-components respectively contained therein, and/orflowcharts 700 and 800 may be implemented using one or more computers900.

Computer 900 can be any commercially available and well knowncommunication device, processing device, and/or computer capable ofperforming the functions described herein, such as devices/computersavailable from International Business Machines®, Apple®, Sun®, HP®,Dell®, Cray®, Samsung®, Nokia®, etc. Computer 900 may be any type ofcomputer, including a desktop computer, a server, etc.

Computer 900 includes one or more processors (also called centralprocessing units, or CPUs), such as a processor 906. Processor 906 isconnected to a communication infrastructure 902, such as a communicationbus. In some embodiments, processor 906 can simultaneously operatemultiple computing threads.

Computer 900 also includes a primary or main memory 908, such as randomaccess memory (RAM). Main memory 908 has stored therein control logic924 (computer software), and data.

Computer 900 also includes one or more secondary storage devices 910.Secondary storage devices 910 include, for example, a hard disk drive912 and/or a removable storage device or drive 914, as well as othertypes of storage devices, such as memory cards and memory sticks. Forinstance, computer 900 may include an industry standard interface, sucha universal serial bus (USB) interface for interfacing with devices suchas a memory stick. Removable storage drive 914 represents a floppy diskdrive, a magnetic tape drive, a compact disk drive, an optical storagedevice, tape backup, etc.

Removable storage drive 914 interacts with a removable storage unit 916.Removable storage unit 916 includes a computer useable or readablestorage medium 918 having stored therein computer software 926 (controllogic) and/or data. Removable storage unit 916 represents a floppy disk,magnetic tape, compact disk, DVD, optical storage disk, or any othercomputer data storage device. Removable storage drive 914 reads fromand/or writes to removable storage unit 916 in a well-known manner.

Computer 900 also includes input/output/display devices 904, such astouchscreens, LED and LCD displays, monitors, keyboards, pointingdevices, etc.

Computer 900 further includes a communication or network interface 918.Communication interface 920 enables computer 900 to communicate withremote devices. For example, communication interface 920 allows computer900 to communicate over communication networks or mediums 922(representing a form of a computer useable or readable medium), such asLANs, WANs, the Internet, etc. Network interface 920 may interface withremote sites or networks via wired or wireless connections.

Control logic 928 may be transmitted to and from computer 900 via thecommunication medium 922.

Any apparatus or manufacture comprising a computer useable or readablemedium having control logic (software) stored therein is referred toherein as a computer program product or program storage device. Thisincludes, but is not limited to, computer 900, main memory 908,secondary storage devices 910, and removable storage unit 916. Suchcomputer program products, having control logic stored therein that,when executed by one or more data processing devices, cause such dataprocessing devices to operate as described herein, represent embodimentsof the invention.

Any apparatus or manufacture comprising a computer useable or readablemedium having control logic (software) stored therein is referred toherein as a computer program product or program storage device. Thisincludes, but is not limited to, a computer, computer main memory,secondary storage devices, and removable storage units. Such computerprogram products, having control logic stored therein that, whenexecuted by one or more data processing devices, cause such dataprocessing devices to operate as described herein, represent embodimentsof the inventive techniques described herein.

CONCLUSION

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. It will be apparent to persons skilled in the relevantart(s) that various changes in form and detail can be made thereinwithout departing from the spirit and scope of the embodiments. Thus,the breadth and scope of the embodiments should not be limited by any ofthe above-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

What is claimed is:
 1. A switching device, comprising: a plurality ofaudio/video (AV) ports; a wireless interface; and a switch circuit thatis operable to selectively connect any one of a plurality of externaldevices, each of which is connected to a corresponding one of theplurality of AV ports, the switching device being configured to: processat least a notification received via the wireless interface, thenotification indicating a communication between a first device and theswitching device; determine at least a source of content to be displayedon the switching device based on processing the notification; determineone or more actions to be performed by the switching device based on thenotification using a notification-to-action mapping that maps aplurality of different one or more notifications to a plurality ofdifferent one or more actions; and perform the one or more actions, theone or more actions causing the determined content from the determinedsource to be displayed via the switching device.
 2. The switching deviceof claim 1, wherein the wireless interface is an infrared interface. 3.The switching device of claim 1, wherein the wireless interface is aradio frequency interface.
 4. The switching device of claim 1, whereinthe radio frequency interface is one of a Wi-Fi or a Bluetoothinterface.
 5. The switching device of claim 1, wherein the switchingdevice is further configured to receive a voice command.
 6. Theswitching device of claim 5, wherein the voice command comprises acommand for the switching device to switch from one AV port to anotherAV port as the source of content.
 7. The switching device of claim 1,wherein the plurality of external devices comprises at least one of aset-top box, a streaming device, a Blu-ray player, or a video gamingconsole.
 8. The switching device of claim 1, wherein the source ofcontent is an external device that further receives content from theInternet.
 9. The switching device of claim 8, wherein the externaldevice that receives content from the Internet comprises at least one ofa set-top box, a streaming device, a Blu-ray player, or a video gamingconsole.
 10. A method performed by a switching device comprising aplurality of audio/video (AV) ports, a wireless interface, and a switchcircuit that is operable to selectively connect any one of a pluralityof external devices, each of which is connected to a corresponding oneof the plurality of AV ports, the method comprising: processing at leasta notification received via the wireless interface, the notificationindicating a communication between a first device and the switchingdevice; determining at least a source of content to be displayed on theswitching device based on processing the notification; determining oneor more actions to be performed by the switching device based on thenotification using a notification-to-action mapping that maps aplurality of different one or more notifications to a plurality ofdifferent one or more actions; and performing the one or more actions,the one or more actions causing the determined content from thedetermined source to be displayed via the switching device.
 11. Themethod of claim 10, wherein the wireless interface is an infraredinterface.
 12. The method of claim 10, wherein the wireless interface isa radio frequency interface.
 13. The method of claim 10, wherein theradio frequency interface is one of a Wi-Fi or a Bluetooth interface.14. The method of claim 10, wherein the switching device is furtherconfigured to receive a voice command.
 15. The method of claim 14,wherein the voice command comprises a command for the switching deviceto switch from one AV port to another AV port as the source of content.16. The method of claim 10, wherein the plurality of external devicescomprises at least one of a set-top box, a streaming device, a Blu-rayplayer, or a video gaming console.
 17. The method of claim 10, whereinthe source of content is an external device that further receivescontent from the Internet.
 18. The method of claim 17, wherein theexternal device that receives content from the Internet comprises atleast one of a set-top box, a streaming device, a Blu-ray player, or avideo gaming console.
 19. A computer-readable storage medium havingprogram instructions recorded thereon that, when executed by a processorof a switching device, perform a method, the method comprising:processing at least a notification received via a wireless interface ofthe switching device, the notification indicating a communicationbetween a first device and the switching device; determining at least asource of content to be displayed on the switching device based onprocessing the notification; determining one or more actions to beperformed by the switching device based on the notification using anotification-to-action mapping that maps a plurality of different one ormore notifications to a plurality of different one or more actions; andperforming the one or more actions, the one or more actions causing thedetermined content from the determined source to be displayed via theswitching device.
 20. The computer-readable storage medium of claim 19,wherein the wireless interface is an infrared interface.